using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.SqlClient; 
using System.Data.SqlTypes; 
using SolucionUtiles; 
using SolucionEntidad; 
namespace SolucionDatos 
{ 
   public class OrdenCompraDao 
    { 
        private SqlConnection cn; 
        public OrdenCompraDao(SqlConnection cn) 
        { 
           this.cn = cn; 
        } 
        public void insert(OrdenCompra obj)
        { 
           SqlCommand command = new SqlCommand("INSERT INTO orden_compra " + 
           "(numeroOrdenCompra,idProveedor,formaPago,tiempoEntrega,fechaGeneracion,idGenerador) VALUES" + 
           "(@numeroOrdenCompra,@idProveedor,@formaPago,@tiempoEntrega,@fechaGeneracion,@idGenerador)", this.cn); 

command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.Parameters.Add(new SqlParameter("@idProveedor", obj.idProveedor)); 
command.Parameters.Add(new SqlParameter("@formaPago", obj.formaPago)); 
command.Parameters.Add(new SqlParameter("@tiempoEntrega", obj.tiempoEntrega)); 
command.Parameters.Add(new SqlParameter("@fechaGeneracion", obj.fechaGeneracion)); 
command.Parameters.Add(new SqlParameter("@idGenerador", obj.idGenerador)); 
command.ExecuteNonQuery(); 
} 
  		public void update(OrdenCompra obj) 
    	{ 
        	SqlCommand command = new SqlCommand("UPDATE OrdenCompra " + 
			" SET " + 
"idProveedor=@idProveedor" + 
",formaPago=@formaPago" + 
",tiempoEntrega=@tiempoEntrega" + 
",fechaGeneracion=@fechaGeneracion" + 
",idGenerador=@idGenerador" + 
 " WHERE " + 
"numeroOrdenCompra=@numeroOrdenCompra" 
,this.cn); 
command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.Parameters.Add(new SqlParameter("@idProveedor", obj.idProveedor)); 
command.Parameters.Add(new SqlParameter("@formaPago", obj.formaPago)); 
command.Parameters.Add(new SqlParameter("@tiempoEntrega", obj.tiempoEntrega)); 
command.Parameters.Add(new SqlParameter("@fechaGeneracion", obj.fechaGeneracion)); 
command.Parameters.Add(new SqlParameter("@idGenerador", obj.idGenerador)); 
command.ExecuteNonQuery(); 
} 
       public void delete(OrdenCompra obj){ 
SqlCommand command = new SqlCommand("DELETE FROM orden_compra WHERE "  
 +"numeroOrdenCompra=@numeroOrdenCompra" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.ExecuteNonQuery(); 
} 
        public OrdenCompra get(OrdenCompra obj) 
{ 
   OrdenCompra record = null; 
    SqlCommand command = new SqlCommand("SELECT numeroOrdenCompra,idProveedor,formaPago,tiempoEntrega,fechaGeneracion,idGenerador FROM orden_compra where " 
 +"numeroOrdenCompra=@numeroOrdenCompra" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 

    SqlDataReader dr = command.ExecuteReader();
dr.Read(); 
record = new OrdenCompra(); 
if (dr["numeroOrdenCompra"] == DBNull.Value) { record.numeroOrdenCompra = SqlString.Null; } else { record.numeroOrdenCompra = (String)dr["numeroOrdenCompra"]; } 
if (dr["idProveedor"] == DBNull.Value) { record.idProveedor = SqlInt32.Null; } else { record.idProveedor = (Int32)dr["idProveedor"]; } 
if (dr["formaPago"] == DBNull.Value) { record.formaPago = SqlInt32.Null; } else { record.formaPago = (Int32)dr["formaPago"]; } 
if (dr["tiempoEntrega"] == DBNull.Value) { record.tiempoEntrega = SqlInt32.Null; } else { record.tiempoEntrega = (Int32)dr["tiempoEntrega"]; } 
if (dr["fechaGeneracion"] == DBNull.Value) { record.fechaGeneracion = SqlDateTime.Null; } else { record.fechaGeneracion = (DateTime)dr["fechaGeneracion"]; } 
if (dr["idGenerador"] == DBNull.Value) { record.idGenerador = SqlInt32.Null; } else { record.idGenerador = (Int32)dr["idGenerador"]; } 
this.cn.Close(); 
return record; 
} 
     public List<OrdenCompra> getList() 
{ 
   List<OrdenCompra> list = new List<OrdenCompra>(); 
    SqlCommand command = new SqlCommand("SELECT numeroOrdenCompra,idProveedor,formaPago,tiempoEntrega,fechaGeneracion,idGenerador FROM orden_compra", this.cn); 
    SqlDataReader dr = command.ExecuteReader(); 
    while (dr.Read()) 
    { 
OrdenCompra obj = new OrdenCompra(); 
if (dr["numeroOrdenCompra"] == DBNull.Value) { obj.numeroOrdenCompra = SqlString.Null; } else { obj.numeroOrdenCompra = (String)dr["numeroOrdenCompra"]; } 
if (dr["idProveedor"] == DBNull.Value) { obj.idProveedor = SqlInt32.Null; } else { obj.idProveedor = (Int32)dr["idProveedor"]; } 
if (dr["formaPago"] == DBNull.Value) { obj.formaPago = SqlInt32.Null; } else { obj.formaPago = (Int32)dr["formaPago"]; } 
if (dr["tiempoEntrega"] == DBNull.Value) { obj.tiempoEntrega = SqlInt32.Null; } else { obj.tiempoEntrega = (Int32)dr["tiempoEntrega"]; } 
if (dr["fechaGeneracion"] == DBNull.Value) { obj.fechaGeneracion = SqlDateTime.Null; } else { obj.fechaGeneracion = (DateTime)dr["fechaGeneracion"]; } 
if (dr["idGenerador"] == DBNull.Value) { obj.idGenerador = SqlInt32.Null; } else { obj.idGenerador = (Int32)dr["idGenerador"]; } 
list.Add(obj); 
} 
return list; 
} 
} 
} 
